home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 2010 April
/
PCWorld0410.iso
/
pluginy Firefox
/
49217
/
49217.xpi
/
chrome
/
content
/
importToGoogleDocs.js
< prev
next >
Wrap
Text File
|
2009-11-10
|
4KB
|
109 lines
var importToGoogleDocs = function () {
var prefManager = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
return {
init : function () {
gBrowser.addEventListener("load", function () {
var autoRun = prefManager.getBoolPref("extensions.importToGoogleDocs.autorun");
if (autoRun) {
importToGoogleDocs.run();
}
}, false);
},
run : function () {
var googleSite = content.document.getElementById('logo');
if (googleSite) {
var head = content.document.getElementsByTagName("head")[0],
style = content.document.getElementById("googleDocs-style");
if (!style) {
style = content.document.createElement("link");
style.id = "googleDocs-style";
style.type = "text/css";
style.rel = "stylesheet";
style.href = "chrome://importToGoogleDocs/skin/skin.css";
head.appendChild(style);
}
var body = content.document.getElementsByTagName("body")[0],
script = content.document.getElementById("import-script");
if (!script) {
script = content.document.createElement("script");
script.setAttribute("id", "import-script");
script.setAttribute("language","javascript");
script.src = "chrome://importToGoogleDocs/content/importscript.js";
head.appendChild(script);
}
var h3elements = content.document.getElementsByTagName("h3");
for (i=0;i<h3elements.length ;i++ ) {
var docUrl = h3elements[i].firstChild;
var xsm = content.document.getElementsByTagName("h3")[i].parentNode.firstChild.textContent;
var fileType = docUrl.href.substr(-4);
if (h3elements[i].getElementsByTagName("span")[0] == undefined && (fileType ==".xls" || fileType ==".ods"))
{
var link = "  Import as Google Spreadsheet";
var span = content.document.createElement('span');
span.innerHTML = link;
span.className = 'linkClass';
span.setAttribute("id", "hyperlink");
span.setAttribute('onclick','openDiv("'+docUrl+'")');
h3elements[i].appendChild(span);
}
// Add for filetypes: '.bmp','.doc','.png','.odt','.ods','.sxw','.jpg','.xls','.pdf','.csv','.txt','.docx','.ppt','.pps','.rtf','.gif','.jpeg','.xlsx'
if (h3elements[i].getElementsByTagName("span")[0] == undefined && (fileType ==".bmp" || fileType ==".doc" || fileType ==".png" || fileType ==".odt" || fileType ==".sxw" || fileType ==".jpg" || fileType ==".pdf" || fileType ==".txt" || fileType ==".docx" || fileType ==".ppt" || fileType ==".pps" || fileType ==".rtf" || fileType ==".gif" || fileType ==".jpeg"))
{
var link = "  Import as Google Document";
var span = content.document.createElement('span');
span.innerHTML = link;
span.className = 'linkClass';
span.setAttribute("id", "hyperlink");
span.setAttribute('onclick','processAsGoogleDoc("'+docUrl+'")');
h3elements[i].appendChild(span);
}
//Workaround for docs, pptx, xlxs extensions :-(
var fileTypeX = docUrl.href.substr(-5);
if (h3elements[i].getElementsByTagName("span")[0] == undefined && (fileTypeX ==".xlsx" || fileTypeX ==".docx" || fileTypeX ==".pptx"))
{
var link = "  Import as Google Document";
var span = content.document.createElement('span');
span.innerHTML = link;
span.className = 'linkClass';
span.setAttribute("id", "hyperlink");
span.setAttribute('onclick','processAsGoogleDoc("'+docUrl+'")');
h3elements[i].appendChild(span);
}
}
}
var dochead = content.document.getElementsByTagName("head")[0],
docscript = content.document.getElementById("doclist-script"),
doclist = content.document.getElementById("doclist");
if (doclist && !docscript) {
docscript = content.document.createElement("script");
docscript.setAttribute("id", "doclist-script");
docscript.setAttribute("language","javascript");
docscript.src = "chrome://importToGoogleDocs/content/doclistscript.js";
dochead.appendChild(docscript);
var style = content.document.getElementById("googleDocs-style");
if (!style) {
style = content.document.createElement("link");
style.id = "googleDocs-style";
style.type = "text/css";
style.rel = "stylesheet";
style.href = "chrome://importToGoogleDocs/skin/skin.css";
dochead.appendChild(style);
}
}
}
};
}();
window.addEventListener("load", importToGoogleDocs.init, false);